﻿using System;
using Pay.DTO;
using Pay.TO;

namespace Pay.IService {
    public interface ISettingService {
        setting_dto Get();
        /// <summary>
        ///  获取token设置
        /// </summary>
        /// <returns></returns>
        token_setting_dto GetTokenSetting();

        int Save(setting_dto dto);
        /// <summary>
        /// 南良设置
        /// </summary>
        /// <returns></returns>
        nl_setting_dto GetNLSetting();
        /// <summary>
        /// 南良设置保存
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        int SaveNL(nl_setting_dto dto);
        /// <summary>
        /// 保存Token设置
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        int Save(token_setting_dto dto);
        /// <summary>
        /// 统计并更新拓垦总马力设置（定时任务调用）
        /// </summary>
        /// <returns></returns>
        bool StatisticsTokenTotalHorsePower();

        glb_setting GetGlb();

        int Save(glb_setting dto);

        /// <summary>
        /// 发验证码
        /// </summary>
        /// <param name="send_model">发送短信请求信息</param>
        /// <returns></returns>
        string SendRegsms(send_model send_model);

        /// <summary>
        /// GLB发验证码
        /// </summary>
        /// <param name="send_model">发送短信请求信息</param>
        /// <returns></returns>
        string SendGlbRegsms(send_model send_model);

        /// <summary>
        /// token 发送验证码
        /// </summary>
        /// <param name="send_model"></param>
        /// <returns></returns>
        string SendTokenRegsms(send_model send_model, TO.ESMSVerificationCodeSource source);
        /// <summary>
        /// 通用发送短信
        /// </summary>
        /// <param name="send_model"></param>
        /// <param name="source"></param>
        /// <param name="smsSource"></param>
        /// <returns></returns>
        string SendCommonRegsms(send_model send_model, TO.ESMSVerificationCodeSource source, ESmsSource smsSource);
        /// <summary>
        /// 验证码对不对
        /// </summary>
        /// <param name="mobile"></param>
        /// <param name="code"></param>
        /// <param name="use_type"></param>
        void ValidCode(string mobile, string code, string use_type);
        /// <summary>
        /// 清除验证码
        /// </summary>
        /// <param name="mobile"></param>
        /// <param name="use_type"></param>
        void RemoveCode(string mobile, string use_type);
        /// <summary>
        /// 台湾短信
        /// </summary>
        /// <param name="mobile"></param>
        /// <param name="content"></param>
        /// <returns></returns>
        int SendTaiWanSms(string mobile, string content);
        /// <summary>
        /// token短信
        /// </summary>
        /// <param name="mobile"></param>
        /// <param name="text"></param>
        /// <returns></returns>
        string SendTokenSms(string mobile, string text);
    }
}
